Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

250
Visualizações
No se puede llamar a `array.reduce` porque el objeto literal [1] es incompatible con `U`

Estoy tratando de definir una función escrita con FlowJS usando genéricos y no entiendo por qué genera un error en esta función, ya que tengo otra similar que funciona bien.

Por ejemplo, este es el que es correcto. Toma un objeto de mapa y devuelve una matriz de objetos.

 const toArray = <T: { code: string }, U: { [code: string]: T }>(mapObject: U): T[] => Object.keys(mapObject).map((code: string): T => mapObject[code]);

ejemplo de uso

 const ITEM1 = {code: "code1", otherObjProp: "otherProp"}; const ITEM2 = {code: "code2", otherObjProp: "otherProp"}; const object = { code1: ITEM1, code2: ITEM2 }; toArray(object); // [ITEM1, ITEM2]

Bueno, en la mano de pedidos tengo esta otra función, que se supone que hace el trabajo inverso. Recibió una matriz de objetos y obtiene un objeto de mapa. Al recibir el mensaje de error No se puede llamar a array.reduce porque el objeto literal [1] es incompatible con U

 const toMapObject = <T: { code: string }, U: { [code: string]: T }>(array: T[]): U => array.reduce( (acc: U, item: T): U => ({ ...acc, [item.code]: item, }), {} );

ejemplo de uso

 const ITEM1 = { code: "code1", otherObjProp: "otherProp" }; const ITEM2 = { code: "code2", otherObjProp: "otherProp" }; const array = [ ITEM1, ITEM2 ]; toMapObject(array); // { code1: ITEM1, code2: ITEM2 }

¿Alguna idea de por qué podría estar pasando esto? ¡Gracias!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda